Copy Task: ফাইল এবং ডিরেক্টরি কপি করা

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) Basic Built-in Tasks |
125
125

Apache Ant একটি শক্তিশালী বিল্ড টুল, যা বিভিন্ন কার্যক্রম যেমন ফাইল কপি করা, সোর্স কোড কম্পাইল করা, অ্যাপ্লিকেশন প্যাকেজিং, টেস্টিং, এবং ডিপ্লয়মেন্ট সহজে অটোমেট করার জন্য ব্যবহৃত হয়। এর মধ্যে Copy Task একটি অত্যন্ত গুরুত্বপূর্ণ টাস্ক, যা ব্যবহারকারীদের ফাইল বা ডিরেক্টরি কপি করতে সাহায্য করে। Copy Task দিয়ে আপনি এক বা একাধিক ফাইল, ডিরেক্টরি, অথবা সম্পূর্ণ ফোল্ডার কপি করতে পারেন, এবং বিভিন্ন কনফিগারেশন অপশন ব্যবহার করে কপি প্রক্রিয়াকে নিয়ন্ত্রণ করতে পারেন।

টাস্কের ব্যবহার


টাস্কটি সাধারণত একটি সোর্স ফাইল বা ডিরেক্টরি থেকে একটি ডেস্টিনেশন ফাইল বা ডিরেক্টরিতে ফাইল কপি করার জন্য ব্যবহৃত হয়। এটি খুবই সাধারণ এবং ব্যবহারে সহজ। src (source) এবং dest (destination) অ্যাট্রিবিউটস দ্বারা ফাইলের সোর্স এবং গন্তব্য নির্ধারণ করা হয়।

মৌলিক কনফিগারেশন

<copy file="source/file.txt" tofile="destination/file.txt"/>

এই উদাহরণে, source/file.txt ফাইলটি destination/ ডিরেক্টরিতে কপি করা হবে।


টাস্কের বৈশিষ্ট্য এবং অপশন


১. file এবং tofile

  • file: এটি সোর্স ফাইল বা ডিরেক্টরির অবস্থান নির্ধারণ করে।
  • tofile: এটি গন্তব্য ফাইলের অবস্থান নির্ধারণ করে।

উদাহরণ:

<copy file="source/file.txt" tofile="destination/file.txt"/>

এখানে, file.txt ফাইলটি source/ ডিরেক্টরি থেকে destination/ ডিরেক্টরিতে কপি হবে।

২. todir

todir অ্যাট্রিবিউটটি একটি সোর্স ডিরেক্টরি থেকে সমস্ত ফাইল বা ডিরেক্টরি কপি করতে ব্যবহৃত হয়। এটি গন্তব্য হিসেবে একটি ডিরেক্টরি নেয়, এবং সমস্ত ফাইল সেখানে কপি করে।

উদাহরণ:

<copy todir="destination/"/>

এটি সোর্স ডিরেক্টরি থেকে সমস্ত ফাইল এবং সাবডিরেক্টরি destination/ ডিরেক্টরিতে কপি করবে।

৩. overwrite

overwrite অ্যাট্রিবিউটটি ডিফল্টভাবে true থাকে, যার মানে হল যে যদি গন্তব্য ফাইল বা ডিরেক্টরি ইতিমধ্যে উপস্থিত থাকে, তবে এটি নতুন ফাইল দ্বারা ওভাররাইট হবে। যদি এটি false হয়, তবে গন্তব্য ফাইলটি কপি হবে না।

উদাহরণ:

<copy file="source/file.txt" tofile="destination/file.txt" overwrite="false"/>

এটি destination/file.txt ফাইলটি যদি আগে থেকেই থাকে তবে ওভাররাইট করবে না।

৪. preserveLastModified

preserveLastModified অ্যাট্রিবিউটটি কপি করা ফাইলের শেষ পরিবর্তনের তারিখ বজায় রাখে।

উদাহরণ:

<copy file="source/file.txt" tofile="destination/file.txt" preserveLastModified="true"/>

এটি সোর্স ফাইলের পরিবর্তনের সময় বজায় রাখবে এবং গন্তব্য ফাইলে সেই সময় সেট করবে।

৫. flatten

flatten অ্যাট্রিবিউটটি ডিরেক্টরি স্ট্রাকচার সরিয়ে দিয়ে কেবল ফাইল কপি করতে ব্যবহৃত হয়। এটি সকল ফাইলকে গন্তব্য ডিরেক্টরিতে ফ্ল্যাট (সমতল) আকারে কপি করবে।

উদাহরণ:

<copy todir="destination/" flatten="true">
    <fileset dir="source/"/>
</copy>

এটি source/ ডিরেক্টরির সমস্ত ফাইল গন্তব্য destination/ ডিরেক্টরিতে ফ্ল্যাটভাবে কপি করবে।

৬. fileset

fileset টাস্কটি ব্যবহার করে আপনি কনফিগার করতে পারেন যে কোন ফাইল কপি করা হবে। এটি ফাইল প্যাটার্ন এবং ইনক্লুড/এক্সক্লুড প্যারামিটার ব্যবহার করে নির্দিষ্ট ফাইল নির্বাচন করতে সাহায্য করে।

উদাহরণ:

<copy>
    <fileset dir="source/" includes="*.txt"/>
    <tofile="destination/"/>
</copy>

এটি source/ ডিরেক্টরি থেকে সমস্ত .txt ফাইল destination/ ডিরেক্টরিতে কপি করবে।

৭. verbose

verbose অ্যাট্রিবিউটটি ফাইল কপির সময় কপি করা ফাইলগুলির তথ্য দেখানোর জন্য ব্যবহৃত হয়।

উদাহরণ:

<copy file="source/file.txt" tofile="destination/file.txt" verbose="true"/>

এটি কপি করার সময় কপি হওয়া ফাইলের নাম কনসোলে প্রদর্শন করবে।


টাস্কের সম্পূর্ণ উদাহরণ

<project name="FileCopyExample" default="copyFiles">
    <target name="copyFiles">
        <!-- Copy a single file -->
        <copy file="source/file.txt" tofile="destination/file.txt" overwrite="false"/>

        <!-- Copy all .txt files from source to destination -->
        <copy todir="destination/">
            <fileset dir="source/" includes="*.txt"/>
        </copy>

        <!-- Copy all files while preserving the last modified time -->
        <copy todir="destination/" preserveLastModified="true">
            <fileset dir="source/"/>
        </copy>

        <!-- Copy files and flatten the directory structure -->
        <copy todir="destination/" flatten="true">
            <fileset dir="source/"/>
        </copy>
    </target>
</project>

এখানে, কয়েকটি উদাহরণ দেওয়া হয়েছে যেখানে:

  • Single file copy: একটি নির্দিষ্ট ফাইল কপি করা হচ্ছে।
  • Multiple files copy: *.txt ফাইল কপি করা হচ্ছে।
  • Preserve last modified time: ফাইল কপির সময় তারিখ বজায় রাখা হচ্ছে।
  • Flatten directory structure: ডিরেক্টরি স্ট্রাকচার সরিয়ে ফ্ল্যাটভাবে কপি করা হচ্ছে।

সারাংশ


টাস্কটি অ্যাপাচি অ্যান্টের একটি অত্যন্ত গুরুত্বপূর্ণ ফিচার, যা ফাইল এবং ডিরেক্টরি কপি করার জন্য ব্যবহৃত হয়। এটি বিভিন্ন কনফিগারেশন অপশন যেমন todir, file, overwrite, preserveLastModified, এবং fileset সহ অত্যন্ত নমনীয় এবং শক্তিশালী। ব্যবহারকারী তাদের প্রয়োজন অনুযায়ী ফাইল কপির জন্য কাস্টম সেটিংস ব্যবহার করতে পারে, যা বিল্ড প্রক্রিয়ায় সঠিক এবং কার্যকরী ফাইল ম্যানিপুলেশন নিশ্চিত করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion